home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / EDITOR / AMAC44.ARJ / TIMER.SUM < prev    next >
Text File  |  1991-07-10  |  21KB  |  449 lines

  1.            Summary of Timing Results For Different Commands
  2.                             July 10, 1991
  3.                        Written by Tom Hogshead
  4.           ==================================================
  5.  
  6.     Many QEdit commands were timed using  macros @1 and @2 to compare
  7.     command's relative speeds. Please be aware that the actual speeds
  8.     of  these commands,  as can  be  estimated from  Relative Speeds,
  9.     depends on  many factors,  eg macro  in which  these commands are
  10.     used, system  hardware and  software, etc.   Faster machines will
  11.     give  faster results,  but the  Relative  Speed order  ranking of
  12.     commands  timed  should be  approximately  the same  on different
  13.     machines.
  14.  
  15.     My  conclusions  are  based solely  only  on  the  timing tests I
  16.     conducted on specific command sequences.  I  am not attempting to
  17.     make a  determination of  the absolute  speed of  QEdit. Although
  18.     limited by  my inability to  measure any  command's speed without
  19.     some  synergism  with other  commands  and the  testing system, I
  20.     believe these conclusions,  as they relate  to speeds of specific
  21.     command   sequences  timed,  are   accurate  and  valid  in  this
  22.     necessarily limited context.
  23.  
  24.     Relative Speeds  were calculated dividing  actual timed speeds by
  25.     0.00045 seconds  per repeat (the  speed for  the fastest commands
  26.     I timed, gotoblockbeg  and  cursorleft  at  column  1;  these two
  27.     commmands,  when  inserted  seperately in  the  timing  macro @1,
  28.     always test false  because the cursor remains  in column 1 and no
  29.     blocks remain marked during @1 timing loop).
  30.  
  31.     Relative  Speeds  for all  commands  timed are  shown  in Table I
  32.     (alphebetical order)  and Table  II (ascending  order); Table III
  33.     shows  the actual  inserted command  sequences timed  (column 1),
  34.     "macro" time  (column 2), "run"  time (column 3),  and calculated
  35.     time  per 1,000  repeats for  the  inserted command  sequences in
  36.     column  4. Table  III is included  in  case the  reader wishes to
  37.     delve further and observe how commands were timed.
  38.  
  39. * 
  40.     ----------------------- Table (I) ------------------------------
  41.                       Relative Speed of Commands
  42.                     ( 1 = 0.00045 seconds/repeat )
  43.                           June 30, 1991
  44.     ----------------------------------------------------------------
  45.     "*" (Insert Off)           17
  46.     "*" (Insert On)            70
  47.     appendscrbuff              49
  48.     begline                     1 f
  49.     begline                     3
  50.     changefilename             10
  51.     copy                       26
  52.     copyoverblock              33
  53.     cursordown                  5
  54.     cursorleft                  2
  55.     cursorright                 2
  56.     cursorup                    5
  57.     cut                        27
  58.     delch                       5
  59.     deleteblock                 5
  60.     delline                    11
  61.     dos "rem"                6666
  62.     dropanchor                  8
  63.     editfile escape            10
  64.     editfile "name"            68
  65.     editfile "nul" /quit      188
  66.     editfile "indir"/quit    1106
  67.     editfile "indir"/quit    3177 cache off
  68.     editfile "notindir"/quit 1578
  69.     editfile "notindir"/quit 4444 cache off
  70.     endline                     9
  71.     escape escape              10
  72.     find                       55
  73.     findreplace                73
  74.     getscrbuff                 54
  75.     gotoblockbeg                1 f
  76.     gotoblockbeg                3
  77.     gotocolumn                 12
  78.     insertline                 11
  79.     jfalse                      1
  80.     joinline                    1 f
  81.     joinline                   13
  82.     jtrue                       1
  83.     jump                        1
  84.     markcharacter               8
  85.     markcolumn                  8
  86.     markline                    7
  87.     moveblock                  59
  88.     nextfile                   10
  89.     nextwindow                 18
  90.     pagedown                    6
  91.     pageup                      6
  92.     paste                      18
  93.     pasteover                  16
  94.     prevfile                   10
  95.     prevposition                7
  96.     prevwindow                 18
  97.     repeatcmd                  13
  98.     shiftleft                  10
  99.     shiftright                 10
  100.     showentryscreen            94
  101.     splitline                  13
  102.     storescrbuff               44
  103.     unmarkblock                 5
  104.  
  105. * 
  106.     ----------------------- Table (II) -----------------------------
  107.                       Relative Speed of Commands
  108.                     ( 1 = 0.00045 seconds/repeat )
  109.                           June 30, 1991
  110.     ----------------------------------------------------------------
  111.     jfalse                      1     delline                    11
  112.     jtrue                       1     insertline                 11
  113.     jump                        1     gotocolumn                 12
  114.     gotoblockbeg                1 f   splitline                  13
  115.     begline                     1 f   joinline                   13
  116.     joinline                    1 f   repeatcmd                  13
  117.     cursorright                 2     pasteover                  16
  118.     cursorleft                  2     "*" (Insert Off)           17
  119.     begline                     3     nextwindow                 18
  120.     gotoblockbeg                3     prevwindow                 18
  121.     delch                       5     paste                      18
  122.     deleteblock                 5     copy                       26
  123.     unmarkblock                 5     cut                        27
  124.     cursordown                  5     copyoverblock              33
  125.     cursorup                    5     storescrbuff               44
  126.     pageup                      6     appendscrbuff              49
  127.     pagedown                    6     getscrbuff                 54
  128.     prevposition                7     find                       55
  129.     markline                    7     moveblock                  59
  130.     markcolumn                  8     editfile "indir"           68
  131.     dropanchor                  8     "*" (Insert On)            70
  132.     markcharacter               8     findreplace                73
  133.     endline                     9     showentryscreen            94
  134.     escape escape              10     editfile "nul" /quit      188
  135.     editfile escape            10     editfile "indir"/quit    1106
  136.     shiftright                 10     editfile "indir"/quit    3177 c_off
  137.     shiftleft                  10     editfile "notindir"/quit 1578
  138.     changefilename             10     editfile "notindir"/quit 4444 c_off
  139.     nextfile                   10     DOS "rem"                6666
  140.     prevfile                   10
  141.  
  142.  
  143. * 
  144.                                 Table (III)
  145. *  ======================================================================
  146.                                               Seconds
  147.                                        -----------------------
  148.                                                          per     # of
  149.                                                 Minus   1,000   Repeats
  150.                                         Run     Base   Repeats   Timed
  151.                                        ------   -----  -------  -------
  152. * 
  153. Fastest............... 0.45 - 3.00
  154. ----------------------------------
  155.     cursorleft  * (col 1)           *   298.0    45.0    0.45   100k
  156.     gotoblockbeg* (col 1)           *   298.0    45.0    0.45   100k
  157.     begline     * (col 1)           *   299.0    46.0    0.46   100k
  158.     jfalse/jtrue/jump               *   301.0    48.0    0.48   100k
  159.     joinline                        *   77.0     14.0    0.56   25k        06-17-1991  16:02:14
  160.     begline     * (from col 2)      *                    0.75   50k
  161.     cursorleft                      *                    0.75   50k c
  162.     cursorright                     *                    0.75   50k c
  163.     cursorright cursorleft          *   403.0   150.0    1.50   100k
  164.     cursorright begline             *   403.0   150.0    1.50   100k
  165.     cursorright cursorright         *   238.0   112.0    2.24   50k
  166.         begline
  167.     cursorright cursorright         *   274.0   148.0    2.96   50k
  168.         cursorright begline
  169.     delch   * ( 250/500 chars)      *   229.0   103.0    2.06   50k
  170.     unmarkblock                     *   239.0   113.0    2.26   50k
  171.  
  172. * 
  173. Fast............       3.00 - 9.00
  174. ----------------------------------
  175.     markline                        *   288.0   162.0    3.24   50k
  176.     markline unmarkblock            *   182.0   119.0    4.76   25k
  177.  
  178.     unmarkblock                     *   239.0   113.0    2.26   50k
  179.     markcolumn                      *   306.0   180.0    3.60   50k
  180.     markcolumn unmarkblock          *   377.0   251.0    5.02   50k
  181. |   markcolumn markcolumn           *   475.0   349.0    6.98   50k
  182.     markcolumn markcolumn           *   47.0    34.4     6.88   5k         06-23-1991  22:54:56
  183.       check use higher value June 23, 1991
  184.     markcolumn markcolumn unmarkblock * 251.0   188.0    7.52   25k
  185.  
  186. |   cursordown cursorup             *   340.0   214.0    4.28   50k        06-13-91
  187.     cursordown cursorup             *   341.0   215.0    4.30   50k r      07-07-91
  188.  
  189.     gotocolumn escape               *   181.0   118.0    4.72   25k
  190.     gotocolumn   "1" return         *   196.0   133.0    5.32   25k
  191.     gotocolumn   "1" return begline *   207.0   144.0    5.76   25k
  192.     gotocolumn   "2" return begline *   270.0   207.0    8.28   25k
  193.     gotocolumn  "50" return begline *   284.0   221.0    8.84   25k
  194.     gotocolumn "500" return begline *   340.0   277.0   11.08   25k
  195.  
  196.     markline unmarkblock            *   182.0   119.0    4.76   25k
  197.     cursorright prevposition        *   183.0   120.0    4.80   25k
  198.     endline begline                 *   368.0   242.0    4.84   50k
  199.     pagedown pageup                 *    86.0    50.7    5.07   10k        06-20-1991  17:29:15
  200.     repeatcmd escape                *    86.0    60.7    6.07   10k
  201.     endline prevposition            *    91.0    65.7    6.57   10k
  202.  
  203.     "*" + BegLine after each 500 chars deleted (see macro below)
  204.         (Insert OFF)                *    51.0    38.4    7.68   5k         06-19-1991  01:48
  205.         (Insert ON)                 *   170.0   157.4   31.48   5k         06-19-1991  01:48
  206.  
  207.     escape escape                   *   280.0   217.0    8.68   25k        06-17-1991  02:28:48
  208.     escape escape                   *   110.0    84.7    8.47   10k        06-17-1991  02:28:42
  209.     editfile escape                 *   111.0    85.7    8.57   10k
  210.     shiftright shiftleft            *   115.0    89.7    8.97   10k r      06-15-91
  211.     shiftright shiftleft            *   113.0    87.7    8.77   10k        06-14-91
  212.     changefilename escape           *   114.0    88.7    8.87   10k
  213.  
  214.  
  215. * 
  216. Slow........           9.00 - 100.0
  217. --------------------------------------
  218. |   nextfile                                             4.59   10k c      06-30-1991  20:38:45
  219. |   prevfile                                             4.69   10k c      06-30-1991  20:37:58
  220.     prevfile nextfile               *   124.0    98.0    9.57   10k bw
  221.       (prevfile is $line#, 5k)
  222.     nextfile prevfile               *   132.0   106.0   10.35   10k bw
  223.       (nextfile is count.dat, 61k)  *
  224.  
  225.  
  226.     prevwindow           *                               8.02   10k c      06-30-1991  18:52:14
  227.     nextwindow                                           8.02   5k  c      06-30-1991  18:52:56
  228. ?   nextwindow prevwindow           *   121.0    95.0    9.28   10k b
  229.       (nextwindow is $line#, 5k)?
  230.     prevwindow nextwindow (start 0k)*   212.0   186.0   18.16   10k b
  231.       (prevwindow is zero length file started in)
  232.     prevwindow nextwindow           *   228.0   202.0   19.73   10k b
  233.       (prevwindow is count.dat, 61k)
  234.  
  235.     insertline delline              *   124.0    98.7    9.87   10k
  236.     changefilename "$$" escape      *   133.0   107.0   10.45   10k b
  237.     splitline joinline              *   140.0   114.7   11.47   10k        06-17-1991  15:31:23
  238.  
  239.     markcolumn markcolumn           *   386.0   360.7   38.81   10k        06-24-1991
  240.     cursorright
  241.     moveblock
  242.                                                        -12.18 mc/mc/cr
  243.                                                        -------
  244.     MOVEBLOCK est.                                      26.63/0.45=59.2
  245.  
  246.     unmarkblock                     *   239.0   113.0    2.26   50k
  247.  
  248.     markcolumn markcolumn           *   201.0   188.4   37.68   5k         06-24-1991
  249.         cursorright
  250.         moveblock
  251.         deleteblock
  252.                                                        -12.18 mc/mc/cr
  253.                                                        -26.63 moveblock
  254.                                                        -------
  255.     DELETEBLOCK est.                                     1.13 diff large #?
  256.      (since cursor moved us right, est same as delch)    2.06/0.45=4.58
  257.  
  258.     markcolumn markcolumn           *   212.0   180.5   14.44   12.5k      06-24-1991
  259.         cursorright
  260.         unmarkblock
  261.         Del_Ch
  262.         jtrue TIME:
  263.           .
  264.           .
  265.         BEGLINE
  266.         cursorup
  267.         jtrue TIME:
  268.                                                         -2.26 unmarkblock
  269.                                                       --------
  270.                                                         12.18 m/m/cr
  271.  
  272.     markcolumn                      *   306.0   180.0    3.60   50k
  273.     pasteover                       *                    7.41   5k (3)
  274.     paste                           *                    7.92   5k (3)
  275.     copy                            *   144.0   118.7   11.87   10k
  276.     cut                             *                   11.96      (6)
  277.     markcolumn copy                 *   162.0   136.7   13.67   10k
  278.     markcolumn cut                  *   225.0   194.5   15.56   12½k (5)
  279.     copyoverblock                   *                   14.68   5k (6)     06-18-1991  09:31:54
  280.     markcolumn copyoverblock        *   104.0    91.4   18.28   5k         06-18-1991  09:31:54
  281.     storescrbuff "9" return         *                   19.68   5k (1)
  282.     markcolumn copy pasteover       *   123.0   110.4   22.08   5k
  283.     markcolumn cut paste            *   130.0   117.4   23.48   5k
  284.     markcolumn storescrbuff "9" return
  285.                                     *   129.0   116.4   23.28   5k
  286.     appendscrbuff "9" return        *                   22.08   5k (1)
  287.     markcolumn appendscrbuff "9" return
  288.                                     *   141.0   128.4   25.68   5k
  289.     getscrbuff "9" return           *                   24.42   5k (2)     06-17-1991  19:02:41
  290.     getscrbuff "9" return delch     *   145.0   132.4   26.48   5k         06-17-1991  19:02:41
  291.  
  292.     find "*" return delline return  *                   24.53   5k (7,8)   06-17-1991  23:37:24
  293.  
  294.     find "*" return delline return  *   139.0   126.4   25.38   5k (8)     06-17-1991  23:37:24
  295.     cursorleft
  296.  
  297.     findreplace "*" return          *                   33.13   5k (7,8)   06-17-1991  23:37:04
  298.  
  299.     findreplace "*" return          *   182.0   169.4   33.88   5k (8)     06-17-1991  23:37:08
  300.     delline return "1" return
  301.     cursorleft
  302.     showentryscreen return          *    45.0    42.47  42.47   1k         06-18-1991  21:55:11
  303.     Shiftright Shiftleft            *   245.0   232.4   46.48   5k
  304.      (Shift file, see macro below)
  305.  
  306. * 
  307.     editfile escape                 *   111.0    85.7    8.57   10k
  308.  
  309.     editfile "0k" return                165.0   152.4   30.48   5k         06-30-1991  21:15:52
  310.  
  311.     editfile  currentfilename (che on)  371.0   345.0   33.7   10k b
  312.         return
  313.     editfile  currentfilename (che off)  36.0    33.4   33.4    1k         06-28-1991  00:11:11
  314.         return
  315.     editfile  currentfilename (che on)   36.0    33.4   33.4    1k r       06-28-1991  00:11:11
  316.         return
  317.  
  318.     editfile "100k" *(che on)       *    32.8    30.3   59.11   ½k         06-30-1991  11:29:59
  319.         return
  320.         editfile "0k" return
  321.     editfile "100k" *(che on)       *    23.0    12.0   59.11   203        06-30-1991  10:36:46
  322.         return
  323.         editfile "0k" return
  324.     editfile "100k" *(che off)      *    23.0    12.0   59.11   203        06-30-1991  10:33:07
  325.         return
  326.         editfile "0k" return
  327.     editfile "100k" *(che off)      *    64.0    61.47  61.47   1k         06-30-1991  10:20:03
  328.         return
  329.         editfile "0k" return
  330.     editfile "100k" *(che on)       *    64.0    61.47  61.47   1k         06-30-1991  10:17:14
  331.         return
  332.         editfile "0k" return
  333.  
  334.     editfile "100k" *(che on)       *   196.0   183.4   36.68   5k         06-30-1991  10:01:23
  335.         return prevfile
  336.  
  337.     editfile "count.qm"  (che on)   *   241.0   228.4   45.7    5k         06-29-1991  19:46:11
  338.         return prevfile
  339. R   editfile "count.qm"  (che off)  *   241.0   228.4   45.7    5k         06-29-1991  23:48:56
  340.         return prevfile
  341. ?   editfile  "count.qm" (che off)  *   155.0   144.0  709.0    203 (9)    06-28-1991  00:52:07
  342.         return
  343.         editfile "0k" return
  344.     editfile  "count.qm" (che on )  *    61.0    50.0  246.0    203 (9)    06-28-1991  00:52:07
  345.         return
  346.         editfile "0k" return
  347. ?   editfile "count.qm"  (che off)  *    77.0    75.8  3295.0   23 (9)     06-28-1991  08:31:49
  348.         return quit
  349.     editfile "count.qm"  (che on)   *    40.0    38.8  1687.0   203 (9)    06-28-1991  08:31:49
  350.         return quit
  351.  
  352.     editfile "nul"        escape    *   155.0   129.0   12.60   10k b
  353.     editfile "nul" return prevfile  *   349.0   823.0   31.54   10k bmw
  354.     editfile "nul" return prevfile  *   168.0   145.4   29.1    5k         06-29-1991  19:32:15
  355.     editfile "nul" return quit      *   870.0   844.0   82.4    10k bmw
  356.                                              (JG 32/500=64.0)
  357. |   editfile "nul" return quit      *    43.0    41.7   84.5    ½k rw      06-25-1991  12:55:58
  358.     editfile "nul" return quit(che on)   92.0    92.0   92.0    1k s       06-25-1991  10:23:06
  359.  
  360. * 
  361. Slowest.....          100.00 +
  362. -------------------------------
  363. |   editfile "00k" return quit(chc on)  250.0   248.7  497.5    ½k wr      06-25-1991  12:57:06
  364. |   editfile "00k" return quit(chc off) 716.0   714.7 1429.5    ½k wr      06-25-1991  12:57:06
  365.  
  366.     editfile "0k" return  quit(che on)  490.0   490.0  490.0    1k s       06-25-1991  10:08:41
  367.     editfile "0k" return  quit(che off)1380.0  1380.0 1380.0    1k se      06-25-1991
  368.  
  369.     editfile "$$$$$.$$"   escape    *   166.0   140.0   13.67   10k b
  370. |   editfile "$$$$$.$$"  (che on)   *   710.0   710.0  710.0    1k sr      06-25-1991  11:08:01
  371.         return quit
  372.     editfile "$$$$$.$$"  (che on)   *  1012.0  1009.4  985.7    1k ew
  373.         return quit
  374. |   editfile "$$$$$.$$"  (che off)  *  2000.0  2000.0 2000.0    1k s       06-25-1991 11:08:01                 `
  375.         return quit
  376.  
  377.     DOS "rem" return return         *  3000.0  2999.7  2999.7   1k e       06-18-1991  13:25:07
  378.  
  379. * 
  380. Footnotes
  381. ---------
  382. 1 - Estimated subtracting markcolumn time of 3.60
  383. 2 - Estimated subtracting delch time of 2.06
  384. 3 - Estimated subtracting markcolumn copy time of 13.67
  385. 4 - Estimated subtracting markcolumn cut time of 15.56
  386. 5 - Equivalent repeats reduced by commands tested
  387. 6 - Estimated subtracting markcolumn
  388. 7 - Estimated subtracting cursorleft time of 0.75
  389. 8 - Used all stars to fill block
  390. 9 - Test with line L4 added
  391. e - Run time extrapolated
  392. m - @9 changed "nul" to "0k", a zero length file existing in directory
  393. w - Used QEdit modified to *not* close window when file is quit
  394. b - Tested with earlier macro version having slightly different base times
  395. c - Calculated including results of other tests
  396. r - Repeat of same test
  397. s - seperate macro not tested with timer macro
  398. R - Repeat to check
  399.  
  400. * 
  401. * Macros
  402. *-------
  403.  
  404.     "*" + BEGLINE after each 500 chars deleted (see macro below)
  405.         Insert OFF                  *    51.0    38.4    7.68   5 06-19
  406.         Insert ON                   *   170.0   157.4   31.48   5 06-19
  407.  
  408.     "*"
  409.         Del_Ch
  410.         jtrue TIME:
  411.         prevwindow
  412.         gotocolumn "53" return
  413.         deltoeol
  414.         Insert_Time
  415.         prevposition
  416.         delrtword delch
  417.         nextwindow
  418.         BEGLINE
  419.         cursorup
  420.         jtrue TIME:
  421.  
  422.     Shiftright Shiftleft ( Shift File)  *   245.0   232.4   46.48   5
  423.         unmarkblock
  424.         begfile markline
  425.         endfile markline
  426.         BEGLINE
  427.         TIME:
  428.         shiftright shiftleft
  429.         Del_Ch
  430.         jtrue TIME:
  431.  
  432.     markcolumn                          *   55.0    52.47   52.47   1
  433.         storescrbuff "9" return
  434.         cut
  435.         getscrbuff "9" return
  436.         Del_Ch
  437.         jtrue TIME:
  438.         prevwindow
  439.         gotocolumn "53" return
  440.         deltoeol
  441.         Insert_Time
  442.         prevposition
  443.         delrtword delch
  444.         nextwindow
  445.         BEGLINE
  446.         Del_Ch
  447.         jtrue TIME:
  448.  
  449.